import type { Router } from 'vue-router';
import NProgress from 'nprogress';
import 'nprogress/nprogress.css';
import { getToken } from '@/utils/auth';
export function createPermissionGuard(router: Router) {
  NProgress.configure({ showSpinner: false });

  const whiteList = ['/login', '/register'];

  router.beforeEach(async (to, from, next) => {
    if (getToken()) {
      next();
    } else {
      // 没有token
      if (whiteList.indexOf(to.path) !== -1) {
        // 在免登录白名单，直接进入
        next();
      } else {
        next(`/login?redirect=${to.fullPath}`); // 否则全部重定向到登录页
        NProgress.done();
      }
    }
  });

  router.afterEach(() => {
    NProgress.done();
  });
}
